﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace ECommerce.DAO.SQL.Personas
{
    public class Usuario
    {
        //Select Methods Helpers
        public static ECommerce.Model.Personas.Usuario[] GetUsuarios(string StoreProcedure, ECommerce.DAO.SQL.Parámetro[] Parámetros)
        {
            ECommerce.Model.Personas.Usuario Usuario = new ECommerce.Model.Personas.Usuario();
            Type DynamicType = Usuario.GetType();
            return ECommerce.DAO.SQL.Personas.Usuario.GetUsuarioFromObjects(ECommerce.DAO.SQL.SqlHelper.Get(StoreProcedure, Parámetros, DynamicType));
        }
        public static ECommerce.Model.Personas.Usuario[] GetUsuarioFromObjects(ECommerce.Model.Objeto[] Objetos)
        {
            List<ECommerce.Model.Personas.Usuario> result = new List<ECommerce.Model.Personas.Usuario>();
            ECommerce.Model.Personas.Usuario Usuario;
            foreach (ECommerce.Model.Objeto Objeto in Objetos)
            {
                Usuario = new ECommerce.Model.Personas.Usuario();
                Usuario = (ECommerce.Model.Personas.Usuario)Objeto;
                if (Usuario != null)
                    if (Usuario.Id != 0)
                        result.Add(Usuario);
            }
            return result.ToArray();
        }

        //Select Methods
        public static ECommerce.Model.Personas.Usuario[] GetUsuariosByIdComercio(int Id)
        {
            List<ECommerce.DAO.SQL.Parámetro> Parámetros = new List<ECommerce.DAO.SQL.Parámetro>();
            ECommerce.DAO.SQL.Parámetro Parámetro = new ECommerce.DAO.SQL.Parámetro("@Id", System.Data.SqlDbType.BigInt, Id);
            Parámetros.Add(Parámetro);
            return ECommerce.DAO.SQL.Personas.Usuario.GetUsuarios("GetUsuariosByIdComercio", Parámetros.ToArray());

        }
        public static int ValidarUsuario(string Cuenta, string Password)
        {
            List<ECommerce.DAO.SQL.Parámetro> Parámetros = new List<ECommerce.DAO.SQL.Parámetro>();
            ECommerce.DAO.SQL.Parámetro Parámetro = new ECommerce.DAO.SQL.Parámetro("@Cuenta", System.Data.SqlDbType.NVarChar, Cuenta);
            Parámetros.Add(Parámetro);
            ECommerce.DAO.SQL.Parámetro Parámetro1 = new ECommerce.DAO.SQL.Parámetro("@Password", System.Data.SqlDbType.NVarChar, Password);
            Parámetros.Add(Parámetro1);
            return ECommerce.DAO.SQL.SqlHelper.Insert("ValidarUsuario", Parámetros.ToArray());

        }
    }
}
